The following definitions are herewith defined:    3GPP Third Generation Partnership Project    GAA Generic Authentication Architecture    GBA Generic Bootstrapping Architecture    BSF Bootstrapping Server Function    AKA Authentication and Key Agreement    MN Mobile Node    MITM Man in the Middle    B-TID Bootstrapping Transaction Identifier    UE User Equipment    EV-DO Evolution Data Only    HLR Home Location Register    AC Authentication Center    RUIM Removable User Identity Module    WLAN Wireless Local Area Network    WKEY WLAN Long Term Key
3GPP GBA (see 3GPP TS 33.220 “GAA:GBA”, attached as Exhibit A to U.S. Provisional Patent Application No. 60/692,855, filed Jun. 21, 2005) aims at specifying a mechanism to bootstrap authentication and key agreement for application security from the 3GPP AKA mechanism. GBA is also being introduced in 3GPP2, where apart from AKA, bootstrapping based on legacy key materials, including the SMEKEY (for CDMA1x systems) and MN-AAA Key (for CDMA1x EV-DO systems), are also being standardized. As a result, when operating in a 3GPP2 system a MN may support, or may be required to support, more than one authentication and bootstrapping mechanism. A technique is therefore needed for the MN and the network to agree on the algorithm set to be used in the bootstrapping. The same is required for future terminals that support both 3GPP and 3GPP2 networks, such that a 3GPP terminal may roam in a 3GPP2 network (and vice versa) and still use GBA. In addition, it is possible for operators to deploy both 3GPP and 3GPP2 networks in the same geographical location. In such cases, terminals also have to negotiate with the network the bootstrapping mechanism to use.
3GPP supports only one authentication and bootstrapping mechanism, i.e., the Digest-AKA mechanism and AKA protocol with 3GPP-defined algorithms. Usage of AKA with Digest authentication is specified in Digest-AKA (see IETF RFC 3310 “Digest AKA”, attached as Exhibit B to U.S. Provisional Patent Application No. 60/692,855, filed Jun. 21, 2005).
In 3GPP2 there are different mechanisms for bootstrapping supported in the network side, as both legacy and non-legacy terminals need to be supported. Currently, however, there is no procedure specified to communicate the supported mechanism(s)/protocols from the MN to the network. There is also no procedure standardized to select a correct bootstrapping mechanism.